This invention relates to communications systems and, more particularly, to interleavers for performing code modulation.
Encoding communication channels, i.e., coded modulation, has been found to improve the bit error rate (BER) of electronic communication systems such as modem and wireless communication systems. Turbo coded modulation has proven to be a practical, power-efficient, and bandwidth-efficient modulation method for xe2x80x9crandom-errorxe2x80x9d channels characterized by additive white Gaussian noise (AWGN) or fading. These random-error channels can be found, for example, in the Code Division Multiple Access (CDMA) environment.
The key innovation of Turbo Codes is an interleaver which permutes the original data frame before input to a second encoder. A conventional parallel concatenated Turbo Encoder is shown in FIG. 1. The Turbo Encoder includes two constituent encoders 102 and 104, and one interleaver 106. Switch 108 can puncture alternate bits from each of encoders 102 and 104 so as to maintain the desired ratio (e.g., R=1/2). The construction and operation of the constituent encoder and the selection of a ratio are well known and thus will not be discussed further herein. However the construction of the interleaver remains an open issue; especially for the small block size of Turbo Code.
Presently, a conventional xe2x80x9crandom interleaverxe2x80x9d is considered the best if the data frame size goes to infinity in an Additive White Gaussian Noise(AWGN) channel such as a CDMA channel. However, the best interleaver for data frames of finite size (i.e. Turbo Code) is yet to be determined.
Accordingly, there exists a need for interleaver designs for data frames of finite size. It is thus an advantage of the present invention to provide interleavers for data frames of finite size (i.e. Turbo Code). It is another advantage of the present invention to provide optimized interleavers for frames of predetermined size.
In accordance with the teachings of the present invention, these and other advantages may be accomplished by the present systems and methods of interleavers using co-set partitioning.
An embodiment of the invention provides a method of permuting a block containing N data elements, where N is a positive integer greater than 1 and integrally divisible by a positive integer n greater than 1, comprising partitioning said block into n co-sets each of size N/n; permuting each co-set; and forming a permuted block by combining elements of said permuted co-sets in a predetermined order.
An aspect of the invention provides a system and method for partitioning said block into n co-sets by assigning to each of the n co-sets elements whose relative positions in said block have a common value of (N modulo(n)).
An aspect of the invention provides for permuting each co-set in an algebraic interleaver building block adapted to the size of the co-set.
An aspect of the invention provides for applying co-set partitioning and interleaving several times.
An aspect of the invention provides for permuting each co-set by generating an m-sequence according to the co-set.
Another embodiment of the invention provides a system and method of producing Turbo code from a stream of N system bits where N is a positive integer greater than 1 and integrally divisible by a positive integer n greater than 1, comprising encoding the N system bits in a first encoder to produce a first stream of N Turbo bits; partitioning said stream of N system bits into n co-sets each of size N/n; permuting each co-set; forming a permuted stream of N system bits by combining permuted said co-sets in a predetermined order; encoding the N permuted system bits in a second encoder to produce a second stream of N Turbo bits; and combining said first and second streams of N Turbo bits in a predetermined order.
An aspect of the invention provides for partitioning the stream of N system bits into n co-sets by assigning to each of said n co-sets elements whose relative positions in the stream have a common value of (N modulo(n)).
An aspect of the invention provides for applying the co-set partitioning and interleaving several times.
An aspect of the invention provides for producing two streams of Turbo bits from a stream of system bits, and puncturing the two streams of N Turbo bits to maintain a predetermined ratio of system bits to Turbo bits.
The invention will next be described in connection with certain exemplary embodiments; however, it should be clear to those skilled in the art that various modifications, additions, and subtractions can be made without departing from the spirit or scope of the claims.